#include <iostream>

using namespace std;
using ll=long long;
const int N=1e6+10;

int n,k;
int idx;
int son[N*30][2];
int cnt[N*30];
void insert(int num)
{
	int p=0;
	for(int i=31;i>=0;i--)
	{
		int t=num>>i&1;
		if(son[p][t]==0)
			son[p][t]=++idx;
		p=son[p][t];
		cnt[p]++;
	}
}
ll query(int num)
{
	int p=0;
	ll ret=0;
	for(int i=31;i>=0;i--)
	{
		int kt=k>>i&1;
		int t=num>>i&1;
		if(!kt)
			ret+=cnt[son[p][t^1]];
		p=son[p][t^kt];
		if(!p)
			return ret;
	}
	ret+=cnt[p];
	return ret;
}
int main()
{
	cin>>n>>k;
	int s=0;
	ll ret=0;
	insert(s);
	
	for(int i=1;i<=n;i++)
	{
		int num;
		scanf("%d",&num);
		s^=num;
		ret+=query(s);
		insert(s);
	}
	
	cout<<ret<<endl;
	
	
	return 0;
}
